#include "Widget.h"
#include "WidgetFactory.h"

#include <iostream>
#include <memory>

int main() {
//    auto pWidget = std::make_unique<Widget>(10);
//    std::cout << "My name is: " << pWidget->getName() << std::endl;

    {
        std::shared_ptr<Widget> pWidget0;
//        WidgetFactory widgetFactory;
        auto pWidgetFactory = std::make_unique<WidgetFactory>();
        pWidget0 = pWidgetFactory->getWidget(0);
        std::cout << "My name is: " << pWidget0->getName() << std::endl;

    }

/*
    auto pWidget1 = widgetFactory.getWidget(0);
    std::cout << "My name is: " << pWidget1->getName() << std::endl;
    widgetFactory.getWidget(1);
    widgetFactory.getWidget(2);
    widgetFactory.getWidget(3);
    widgetFactory.getWidget(4);

    std::cout << widgetFactory.debug() << std::endl;
*/



    return 0;
}
